#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.10-xen0
-# Mon Feb 21 13:46:38 2005
+# Mon Mar 21 17:07:15 2005
#
CONFIG_XEN=y
CONFIG_ARCH_XEN=y
CONFIG_XEN_PRIVILEGED_GUEST=y
CONFIG_XEN_PHYSDEV_ACCESS=y
# CONFIG_XEN_BLKDEV_BACKEND is not set
-# CONFIG_XEN_BLKDEV_TAP_BE is not set
# CONFIG_XEN_NETDEV_BACKEND is not set
CONFIG_XEN_BLKDEV_FRONTEND=y
CONFIG_XEN_NETDEV_FRONTEND=y
# CONFIG_XEN_NETDEV_FRONTEND_PIPELINED_TRANSMITTER is not set
# CONFIG_XEN_BLKDEV_TAP is not set
CONFIG_XEN_WRITABLE_PAGETABLES=y
+CONFIG_XEN_SYSCALL_STATS=y
+# CONFIG_XEN_DEBUG_NO_MMU_BATCHING is not set
+# CONFIG_XEN_BATCH_MODE1 is not set
+# CONFIG_XEN_BATCH_MODE2 is not set
CONFIG_XEN_SHADOW_MODE=y
CONFIG_XEN_SCRUB_PAGES=y
CONFIG_X86=y
static unsigned int opt_dom0_shadow = 0;
boolean_param("dom0_shadow", opt_dom0_shadow);
+static unsigned int opt_dom0_translate = 0;
+boolean_param("dom0_translate", opt_dom0_translate);
+
#if defined(__i386__)
/* No ring-3 access in initial leaf page tables. */
#define L1_PROT (_PAGE_PRESENT|_PAGE_RW|_PAGE_ACCESSED)
l2_pgentry_t *l2tab = NULL, *l2start = NULL;
l1_pgentry_t *l1tab = NULL, *l1start = NULL;
- int translate_dom0 = 1; // HACK ALERT !! Force dom0 to run in shadow translate mode
-
/*
* This fully describes the memory layout of the initial domain. All
* *_start address are page-aligned, except v_start (and v_end) which are
_initrd_start, (_initrd_start+initrd_len+PAGE_SIZE-1) & PAGE_MASK);
}
- d->next_io_page = d->max_pages;
+ d->next_io_page = max_page;
/* Set up start info area. */
si = (start_info_t *)vstartinfo_start;
new_thread(ed, dsi.v_kernentry, vstack_end, vstartinfo_start);
- if ( opt_dom0_shadow || translate_dom0 )
+ if ( opt_dom0_shadow || opt_dom0_translate )
{
- shadow_mode_enable(d, (translate_dom0
+ shadow_mode_enable(d, (opt_dom0_translate
? SHM_enable | SHM_translate
: SHM_enable));
- if ( translate_dom0 )
+ if ( opt_dom0_translate )
{
// map this domain's p2m table into current page table,
// so that we can easily access it.
PERFCOUNTER_CPU(validate_pde_calls, "calls to validate_pde_change")
PERFCOUNTER_CPU(validate_pde_changes, "validate_pde makes changes")
PERFCOUNTER_CPU(shadow_get_page_fail, "shadow_get_page_from_l1e fails" )
+PERFCOUNTER_CPU(validate_hl2e_calls, "calls to validate_hl2e_change")
+PERFCOUNTER_CPU(validate_hl2e_changes, "validate_hl2e makes changes")
+PERFCOUNTER_CPU(exception_fixed, "pre-exception fixed")
+PERFCOUNTER_CPU(gpfn_to_mfn_safe, "calls to gpfn_to_mfn_safe")
+PERFSTATUS( writable_pte_predictions, "# writable pte predictions")
+PERFCOUNTER_CPU(remove_write_access, "calls to remove_write_access")
+PERFCOUNTER_CPU(remove_write_access_easy, "easy outs of remove_write_access")
+PERFCOUNTER_CPU(remove_write_no_work, "no work in remove_write_access")
+PERFCOUNTER_CPU(remove_write_not_writable, "remove_write non-writable page")
+PERFCOUNTER_CPU(remove_write_fast_exit, "remove_write hit predicted entry")
+PERFCOUNTER_CPU(remove_write_predicted, "remove_write predict hit&exit")
+PERFCOUNTER_CPU(remove_write_bad_prediction, "remove_write bad prediction")
+PERFCOUNTER_CPU(write_fault_bail, "sf bailed due to write_fault")
+PERFCOUNTER_CPU(read_fault_bail, "sf bailed due to read_fault")